15. 两个同名函数
Andy 了解了
typedef
,并被告知要始终怀疑重复的代码。
注意:Elecia 和 Andy 使用“向量”这个词。现在,你应该把向量看作与 Python 列表类似的东西。
两个同名函数
下面这行代码可以用来定义一个名为 t_grid 的全新的类型,它是单精度浮点数向量的向量(现在,你可以认为向量与 Python 列表类似)。
typedef vector < vector <float> > t_grid;
在所有写成
vector < vector <float> >
地方,都可以写成
t_grid
!
在下面的视频中,Andy 在将他的直方图过滤器代码从 Python 转换为 C++ 时,发现了一件令人惊讶的事情。他可以有两个 不同的 函数,函数名称 相同 ,而且不会造成任何问题。
你可以在视频下面找到 Elecia 和 Andy 所讨论的代码。
bool close_enough(float v1, float v2) {
if (abs(v2-v1) > 0.0001 ) {
return false;
}
return true;
}
bool close_enough(vector < vector <float> > g1, vector < vector <float> > g2) {
int i, j;
float v1, v2;
for (i=0; i<g1.size(); i++) {
for (j=0; j<g1[0].size(); j++) {
v1 = g1[i][j];
v2 = g2[i][j];
if (abs(v2-v1) > 0.0001 ) {
return false;
}
}
}
return true;
}
两个同名函数